---
title: SAIF.Services.WCF.Host overview
summary: Purpose, business context, and capability summary for the WCF SOAP service host.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-22
---

# SAIF.Services.WCF.Host overview

`SAIF.Services.WCF.Host` is a shared infrastructure host that exposes six unrelated SOAP capabilities under one IIS application: raw file access, user/application preference storage, transient cross-application session handoff, imaging queue management, fax dispatch, and identity/authorization resolution. Callers reach each capability at its own route; there is no shared operation surface between the six.

## Purpose
- Provide file, preference, session-context, imaging, fax, and identity/authorization services to other SAIF applications over SOAP, backed by Oracle and SQL Server.

## Business context

This host underpins several unrelated cross-cutting concerns for other SAIF applications: `FileService` and `ImagingService` support document handling workflows, `PreferenceService` and `WebContextService` support UI-adjacent session and preference persistence for calling applications, `FaxService` supports outbound fax delivery through the legacy fax gateway, and `SecurityService` is the provider side of the authorization calls other SAIF applications make against `IsAuthorized`/`IsAuthorized2` and the various user-resolution operations.

| Attribute | Value |
| --- | --- |
| Business domain | Shared infrastructure services (file access, preferences, session context, imaging, fax, identity/authorization) |
| Owning team | Not determined from source |
| Data ownership | Oracle `CLM` (`Preference`), Oracle `IMG` (`Image`), Oracle `EXTUR` (`Employee`, `WcisEmployee`, `ExternalUser`, `ExternalUserType`, `Person`, `Phone`), SQL Server `NETFRAMEWORK`/`APPM` (`WebContextItem`) |
| Criticality | Not determined from source |

## Capability summary

| Capability | Service class | Operations | Description |
| --- | --- | --- | --- |
| FileService capability | `SAIF.Services.WCF.Services.FileService` | [`ReadFile`](contracts/file-service.md#readfile), [`ReadEntireFile`](contracts/file-service.md#readentirefile), [`WriteFile`](contracts/file-service.md#writefile), [`DeleteFile`](contracts/file-service.md#deletefile), [`Length`](contracts/file-service.md#length) |  Unauthenticated, unconstrained filesystem read/write/delete/length access |
| PreferenceService capability | `SAIF.Services.WCF.Services.PreferenceService` | [`GetPreferences`](contracts/preference-service.md#getpreferences), [`SavePreferences`](contracts/preference-service.md#savepreferences), [`GetDefaultPrinter`](contracts/preference-service.md#getdefaultprinter) |  Per-application/page/user preference storage and default-printer lookup |
| WebContext capability | `SAIF.Services.WCF.Services.WebContextService` | [`Get`](contracts/web-context-service.md#get), [`Save`](contracts/web-context-service.md#save), [`CreateContext`](contracts/web-context-service.md#createcontext) |  Transient, consume-once cross-application session context handoff |
| Imaging capability | `SAIF.Services.WCF.Services.ImagingService` | [`QueueImage`](contracts/imaging-service.md#queueimage), [`ReserveImageId`](contracts/imaging-service.md#reserveimageid) |  Image id reservation and document queuing for the imaging pipeline |
| Fax capability | `SAIF.Services.WCF.Services.FaxService` | [`SendFax`](contracts/fax-service.md#sendfax) |  Fax document staging and dispatch through the Legacy.Fax proxy |
| Security capability | `SAIF.Services.WCF.Services.Security.SecurityService` | [`IsAuthorized`](contracts/security-service.md#isauthorized), [`IsAuthorized2`](contracts/security-service.md#isauthorized2), [`GetUser`](contracts/security-service.md#getuser), [`GetSaifUserByUserId`](contracts/security-service.md#getsaifuserbyuserid), [`GetSaifUserByEmployeeId`](contracts/security-service.md#getsaifuserbyemployeeid), [`GetUserIdForEmployeeId`](contracts/security-service.md#getuseridforemployeeid), [`GetExternalUser`](contracts/security-service.md#getexternaluser), [`GetExternalUserByCustomerId`](contracts/security-service.md#getexternaluserbycustomerid), [`GetInjuredWorkerUserByCustomerId`](contracts/security-service.md#getinjuredworkeruserbycustomerid), [`GetUsersByGroup`](contracts/security-service.md#getusersbygroup) |  Identity resolution and role authorization across AD, WCIS, ADP, and external users |

## Message format

| Aspect | Finding |
| --- | --- |
| Message encoding | SOAP 1.1 over HTTP (`basicHttpBinding`, default unnamed binding) |
| Serializer | Not observable — the contract assembly is external, so whether operations are attributed with `DataContractSerializer` or `XmlSerializer` semantics cannot be confirmed from this repository ** |
| Message size limits | `maxBufferPoolSize="2147483647"`, `maxReceivedMessageSize="2147483647"`, `readerQuotas` (`maxDepth=32`, `maxStringContentLength=5242880`, `maxArrayLength=2147483647`) |
| Metadata document | `?wsdl` published (`<serviceMetadata httpGetEnabled="true"/>`) |

## Non-documented artifacts

- This host contains no `.aspx`, view, controller, or UI artifact of any kind; its entire surface is six `ServiceRoute` registrations over WCF service classes, and the `AppType: web` pipeline marker does not indicate a web UI.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Activation and hosting](activation-hosting.md)
- [Operations](operations.md)
- [Faults and error pipeline](faults.md)
- [Authentication and authorization](authentication-authorization.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Data model](data-model.md)
- [Operational runbook](operational-runbook.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `**` could not be confirmed; treat as unknown
> until verified.

## Sources
- src/WCF/SAIF.Services.WCF.Host/Global.asax.cs
- src/WCF/SAIF.Services.WCF.Host/Services/FileService.cs
- src/WCF/SAIF.Services.WCF.Host/Services/PreferenceService.cs
- src/WCF/SAIF.Services.WCF.Host/Services/WebContextService.cs
- src/WCF/SAIF.Services.WCF.Host/Services/ImagingService.cs
- src/WCF/SAIF.Services.WCF.Host/Services/FaxService.cs
- src/WCF/SAIF.Services.WCF.Host/Services/Security/SecurityService.cs
